<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><link rel="stylesheet" type="text/css" href="style.css" /><script type="text/javascript" src="highlight.js"></script></head><body><pre><span class="hs-pragma">{-# LANGUAGE Trustworthy #-}</span><span>
</span><span id="line-2"></span><span class="hs-pragma">{-# LANGUAGE NoImplicitPrelude #-}</span><span>
</span><span id="line-3"></span><span>
</span><span id="line-4"></span><span class="hs-comment">-----------------------------------------------------------------------------</span><span>
</span><span id="line-5"></span><span class="hs-comment">-- |</span><span>
</span><span id="line-6"></span><span class="hs-comment">-- Module      :  Prelude</span><span>
</span><span id="line-7"></span><span class="hs-comment">-- Copyright   :  (c) The University of Glasgow 2001</span><span>
</span><span id="line-8"></span><span class="hs-comment">-- License     :  BSD-style (see the file libraries/base/LICENSE)</span><span>
</span><span id="line-9"></span><span class="hs-comment">--</span><span>
</span><span id="line-10"></span><span class="hs-comment">-- Maintainer  :  libraries@haskell.org</span><span>
</span><span id="line-11"></span><span class="hs-comment">-- Stability   :  stable</span><span>
</span><span id="line-12"></span><span class="hs-comment">-- Portability :  portable</span><span>
</span><span id="line-13"></span><span class="hs-comment">--</span><span>
</span><span id="line-14"></span><span class="hs-comment">-- The Prelude: a standard module. The Prelude is imported by default</span><span>
</span><span id="line-15"></span><span class="hs-comment">-- into all Haskell modules unless either there is an explicit import</span><span>
</span><span id="line-16"></span><span class="hs-comment">-- statement for it, or the NoImplicitPrelude extension is enabled.</span><span>
</span><span id="line-17"></span><span class="hs-comment">--</span><span>
</span><span id="line-18"></span><span class="hs-comment">-----------------------------------------------------------------------------</span><span>
</span><span id="line-19"></span><span>
</span><span id="line-20"></span><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">Prelude</span><span> </span><span class="hs-special">(</span><span>
</span><span id="line-21"></span><span>
</span><span id="line-22"></span><span>    </span><span class="annot"><span class="hs-comment">-- * Standard types, classes and related functions</span></span><span>
</span><span id="line-23"></span><span>
</span><span id="line-24"></span><span>    </span><span class="annot"><span class="hs-comment">-- ** Basic data types</span></span><span>
</span><span id="line-25"></span><span>    </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Bool"><span class="hs-identifier">Bool</span></a></span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#False"><span class="hs-identifier">False</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier">True</span></a></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-26"></span><span>    </span><span class="annot"><a href="../../ghc-prim/src/GHC.Classes.html#%26%26"><span class="hs-operator">(&amp;&amp;)</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Classes.html#%7C%7C"><span class="hs-operator">(||)</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Classes.html#not"><span class="hs-identifier">not</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Base.html#otherwise"><span class="hs-identifier">otherwise</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-27"></span><span>
</span><span id="line-28"></span><span>    </span><span class="annot"><a href="GHC.Maybe.html#Maybe"><span class="hs-identifier">Maybe</span></a></span><span class="hs-special">(</span><span class="annot"><a href="GHC.Maybe.html#Nothing"><span class="hs-identifier">Nothing</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Maybe.html#Just"><span class="hs-identifier">Just</span></a></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-29"></span><span>    </span><span class="annot"><a href="Data.Maybe.html#maybe"><span class="hs-identifier">maybe</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-30"></span><span>
</span><span id="line-31"></span><span>    </span><span class="annot"><a href="Data.Either.html#Either"><span class="hs-identifier">Either</span></a></span><span class="hs-special">(</span><span class="annot"><a href="Data.Either.html#Left"><span class="hs-identifier">Left</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Data.Either.html#Right"><span class="hs-identifier">Right</span></a></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-32"></span><span>    </span><span class="annot"><a href="Data.Either.html#either"><span class="hs-identifier">either</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-33"></span><span>
</span><span id="line-34"></span><span>    </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Ordering"><span class="hs-identifier">Ordering</span></a></span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#LT"><span class="hs-identifier">LT</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#EQ"><span class="hs-identifier">EQ</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#GT"><span class="hs-identifier">GT</span></a></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-35"></span><span>    </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Char"><span class="hs-identifier">Char</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Base.html#String"><span class="hs-identifier">String</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-36"></span><span>
</span><span id="line-37"></span><span>    </span><span class="annot"><span class="hs-comment">-- *** Tuples</span></span><span>
</span><span id="line-38"></span><span>    </span><span class="annot"><a href="Data.Tuple.html#fst"><span class="hs-identifier">fst</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Data.Tuple.html#snd"><span class="hs-identifier">snd</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Data.Tuple.html#curry"><span class="hs-identifier">curry</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Data.Tuple.html#uncurry"><span class="hs-identifier">uncurry</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-39"></span><span>
</span><span id="line-40"></span><span>    </span><span class="annot"><span class="hs-comment">-- ** Basic type classes</span></span><span>
</span><span id="line-41"></span><span>    </span><span class="annot"><a href="../../ghc-prim/src/GHC.Classes.html#Eq"><span class="hs-identifier">Eq</span></a></span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator">(==)</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Classes.html#%2F%3D"><span class="hs-operator">(/=)</span></a></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-42"></span><span>    </span><span class="annot"><a href="../../ghc-prim/src/GHC.Classes.html#Ord"><span class="hs-identifier">Ord</span></a></span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Classes.html#compare"><span class="hs-identifier">compare</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Classes.html#%3C"><span class="hs-operator">(&lt;)</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Classes.html#%3C%3D"><span class="hs-operator">(&lt;=)</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Classes.html#%3E%3D"><span class="hs-operator">(&gt;=)</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Classes.html#%3E"><span class="hs-operator">(&gt;)</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Classes.html#max"><span class="hs-identifier">max</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Classes.html#min"><span class="hs-identifier">min</span></a></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-43"></span><span>    </span><span class="annot"><a href="GHC.Enum.html#Enum"><span class="hs-identifier">Enum</span></a></span><span class="hs-special">(</span><span class="annot"><a href="GHC.Enum.html#succ"><span class="hs-identifier">succ</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#pred"><span class="hs-identifier">pred</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#toEnum"><span class="hs-identifier">toEnum</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#fromEnum"><span class="hs-identifier">fromEnum</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#enumFrom"><span class="hs-identifier">enumFrom</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#enumFromThen"><span class="hs-identifier">enumFromThen</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-44"></span><span>         </span><span class="annot"><a href="GHC.Enum.html#enumFromTo"><span class="hs-identifier">enumFromTo</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#enumFromThenTo"><span class="hs-identifier">enumFromThenTo</span></a></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-45"></span><span>    </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier">Bounded</span></a></span><span class="hs-special">(</span><span class="annot"><a href="GHC.Enum.html#minBound"><span class="hs-identifier">minBound</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#maxBound"><span class="hs-identifier">maxBound</span></a></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-46"></span><span>
</span><span id="line-47"></span><span>    </span><span class="annot"><span class="hs-comment">-- ** Numbers</span></span><span>
</span><span id="line-48"></span><span>
</span><span id="line-49"></span><span>    </span><span class="annot"><span class="hs-comment">-- *** Numeric types</span></span><span>
</span><span id="line-50"></span><span>    </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Int"><span class="hs-identifier">Int</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../ghc-bignum/src/GHC.Num.Integer.html#Integer"><span class="hs-identifier">Integer</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Float"><span class="hs-identifier">Float</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Double"><span class="hs-identifier">Double</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-51"></span><span>    </span><span class="annot"><a href="GHC.Real.html#Rational"><span class="hs-identifier">Rational</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Word"><span class="hs-identifier">Word</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-52"></span><span>
</span><span id="line-53"></span><span>    </span><span class="annot"><span class="hs-comment">-- *** Numeric type classes</span></span><span>
</span><span id="line-54"></span><span>    </span><span class="annot"><a href="GHC.Num.html#Num"><span class="hs-identifier">Num</span></a></span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.html#%2B"><span class="hs-operator">(+)</span></a></span><span class="hs-special">,</span><span> </span><span class="hs-special">(</span><span class="hs-glyph">-</span><span class="hs-special">)</span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Num.html#%2A"><span class="hs-operator">(*)</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Num.html#negate"><span class="hs-identifier">negate</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Num.html#abs"><span class="hs-identifier">abs</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Num.html#signum"><span class="hs-identifier">signum</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Num.html#fromInteger"><span class="hs-identifier">fromInteger</span></a></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-55"></span><span>    </span><span class="annot"><a href="GHC.Real.html#Real"><span class="hs-identifier">Real</span></a></span><span class="hs-special">(</span><span class="annot"><a href="GHC.Real.html#toRational"><span class="hs-identifier">toRational</span></a></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-56"></span><span>    </span><span class="annot"><a href="GHC.Real.html#Integral"><span class="hs-identifier">Integral</span></a></span><span class="hs-special">(</span><span class="annot"><a href="GHC.Real.html#quot"><span class="hs-identifier">quot</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Real.html#rem"><span class="hs-identifier">rem</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Real.html#div"><span class="hs-identifier">div</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Real.html#mod"><span class="hs-identifier">mod</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Real.html#quotRem"><span class="hs-identifier">quotRem</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Real.html#divMod"><span class="hs-identifier">divMod</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Real.html#toInteger"><span class="hs-identifier">toInteger</span></a></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-57"></span><span>    </span><span class="annot"><a href="GHC.Real.html#Fractional"><span class="hs-identifier">Fractional</span></a></span><span class="hs-special">(</span><span class="annot"><a href="GHC.Real.html#%2F"><span class="hs-operator">(/)</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Real.html#recip"><span class="hs-identifier">recip</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Real.html#fromRational"><span class="hs-identifier">fromRational</span></a></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-58"></span><span>    </span><span class="annot"><a href="GHC.Float.html#Floating"><span class="hs-identifier">Floating</span></a></span><span class="hs-special">(</span><span class="annot"><a href="GHC.Float.html#pi"><span class="hs-identifier">pi</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Float.html#exp"><span class="hs-identifier">exp</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Float.html#log"><span class="hs-identifier">log</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Float.html#sqrt"><span class="hs-identifier">sqrt</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Float.html#%2A%2A"><span class="hs-operator">(**)</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Float.html#logBase"><span class="hs-identifier">logBase</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Float.html#sin"><span class="hs-identifier">sin</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Float.html#cos"><span class="hs-identifier">cos</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Float.html#tan"><span class="hs-identifier">tan</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-59"></span><span>             </span><span class="annot"><a href="GHC.Float.html#asin"><span class="hs-identifier">asin</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Float.html#acos"><span class="hs-identifier">acos</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Float.html#atan"><span class="hs-identifier">atan</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Float.html#sinh"><span class="hs-identifier">sinh</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Float.html#cosh"><span class="hs-identifier">cosh</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Float.html#tanh"><span class="hs-identifier">tanh</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Float.html#asinh"><span class="hs-identifier">asinh</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Float.html#acosh"><span class="hs-identifier">acosh</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Float.html#atanh"><span class="hs-identifier">atanh</span></a></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-60"></span><span>    </span><span class="annot"><a href="GHC.Real.html#RealFrac"><span class="hs-identifier">RealFrac</span></a></span><span class="hs-special">(</span><span class="annot"><a href="GHC.Real.html#properFraction"><span class="hs-identifier">properFraction</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Real.html#truncate"><span class="hs-identifier">truncate</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Real.html#round"><span class="hs-identifier">round</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Real.html#ceiling"><span class="hs-identifier">ceiling</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Real.html#floor"><span class="hs-identifier">floor</span></a></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-61"></span><span>    </span><span class="annot"><a href="GHC.Float.html#RealFloat"><span class="hs-identifier">RealFloat</span></a></span><span class="hs-special">(</span><span class="annot"><a href="GHC.Float.html#floatRadix"><span class="hs-identifier">floatRadix</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Float.html#floatDigits"><span class="hs-identifier">floatDigits</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Float.html#floatRange"><span class="hs-identifier">floatRange</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Float.html#decodeFloat"><span class="hs-identifier">decodeFloat</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-62"></span><span>              </span><span class="annot"><a href="GHC.Float.html#encodeFloat"><span class="hs-identifier">encodeFloat</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Float.html#exponent"><span class="hs-identifier">exponent</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Float.html#significand"><span class="hs-identifier">significand</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Float.html#scaleFloat"><span class="hs-identifier">scaleFloat</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Float.html#isNaN"><span class="hs-identifier">isNaN</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-63"></span><span>              </span><span class="annot"><a href="GHC.Float.html#isInfinite"><span class="hs-identifier">isInfinite</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Float.html#isDenormalized"><span class="hs-identifier">isDenormalized</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Float.html#isIEEE"><span class="hs-identifier">isIEEE</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Float.html#isNegativeZero"><span class="hs-identifier">isNegativeZero</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Float.html#atan2"><span class="hs-identifier">atan2</span></a></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-64"></span><span>
</span><span id="line-65"></span><span>    </span><span class="annot"><span class="hs-comment">-- *** Numeric functions</span></span><span>
</span><span id="line-66"></span><span>    </span><span class="annot"><a href="GHC.Num.html#subtract"><span class="hs-identifier">subtract</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Real.html#even"><span class="hs-identifier">even</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Real.html#odd"><span class="hs-identifier">odd</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Real.html#gcd"><span class="hs-identifier">gcd</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Real.html#lcm"><span class="hs-identifier">lcm</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Real.html#%5E"><span class="hs-operator">(^)</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Real.html#%5E%5E"><span class="hs-operator">(^^)</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-67"></span><span>    </span><span class="annot"><a href="GHC.Real.html#fromIntegral"><span class="hs-identifier">fromIntegral</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Real.html#realToFrac"><span class="hs-identifier">realToFrac</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-68"></span><span>
</span><span id="line-69"></span><span>    </span><span class="annot"><span class="hs-comment">-- ** Semigroups and Monoids</span></span><span>
</span><span id="line-70"></span><span>    </span><span class="annot"><a href="GHC.Base.html#Semigroup"><span class="hs-identifier">Semigroup</span></a></span><span class="hs-special">(</span><span class="annot"><a href="GHC.Base.html#%3C%3E"><span class="hs-operator">(&lt;&gt;)</span></a></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-71"></span><span>    </span><span class="annot"><a href="GHC.Base.html#Monoid"><span class="hs-identifier">Monoid</span></a></span><span class="hs-special">(</span><span class="annot"><a href="GHC.Base.html#mempty"><span class="hs-identifier">mempty</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Base.html#mappend"><span class="hs-identifier">mappend</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Base.html#mconcat"><span class="hs-identifier">mconcat</span></a></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-72"></span><span>
</span><span id="line-73"></span><span>    </span><span class="annot"><span class="hs-comment">-- ** Monads and functors</span></span><span>
</span><span id="line-74"></span><span>    </span><span class="annot"><a href="GHC.Base.html#Functor"><span class="hs-identifier">Functor</span></a></span><span class="hs-special">(</span><span class="annot"><a href="GHC.Base.html#fmap"><span class="hs-identifier">fmap</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Base.html#%3C%24"><span class="hs-operator">(&lt;$)</span></a></span><span class="hs-special">)</span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Data.Functor.html#%3C%24%3E"><span class="hs-operator">(&lt;$&gt;)</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-75"></span><span>    </span><span class="annot"><a href="GHC.Base.html#Applicative"><span class="hs-identifier">Applicative</span></a></span><span class="hs-special">(</span><span class="annot"><a href="GHC.Base.html#pure"><span class="hs-identifier">pure</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Base.html#%3C%2A%3E"><span class="hs-operator">(&lt;*&gt;)</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Base.html#%2A%3E"><span class="hs-operator">(*&gt;)</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Base.html#%3C%2A"><span class="hs-operator">(&lt;*)</span></a></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-76"></span><span>    </span><span class="annot"><a href="GHC.Base.html#Monad"><span class="hs-identifier">Monad</span></a></span><span class="hs-special">(</span><span class="annot"><a href="GHC.Base.html#%3E%3E%3D"><span class="hs-operator">(&gt;&gt;=)</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Base.html#%3E%3E"><span class="hs-operator">(&gt;&gt;)</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Base.html#return"><span class="hs-identifier">return</span></a></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-77"></span><span>    </span><span class="annot"><a href="Control.Monad.Fail.html#MonadFail"><span class="hs-identifier">MonadFail</span></a></span><span class="hs-special">(</span><span class="annot"><a href="Control.Monad.Fail.html#fail"><span class="hs-identifier">fail</span></a></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-78"></span><span>    </span><span class="annot"><a href="Data.Foldable.html#mapM_"><span class="hs-identifier">mapM_</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Data.Foldable.html#sequence_"><span class="hs-identifier">sequence_</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Base.html#%3D%3C%3C"><span class="hs-operator">(=&lt;&lt;)</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-79"></span><span>
</span><span id="line-80"></span><span>    </span><span class="annot"><span class="hs-comment">-- ** Folds and traversals</span></span><span>
</span><span id="line-81"></span><span>    </span><span class="annot"><a href="Data.Foldable.html#Foldable"><span class="hs-identifier">Foldable</span></a></span><span class="hs-special">(</span><span class="annot"><a href="Data.Foldable.html#elem"><span class="hs-identifier">elem</span></a></span><span class="hs-special">,</span><span>      </span><span class="hs-comment">-- :: (Foldable t, Eq a) =&gt; a -&gt; t a -&gt; Bool</span><span>
</span><span id="line-82"></span><span>             </span><span class="hs-comment">-- fold,   -- :: Monoid m =&gt; t m -&gt; m</span><span>
</span><span id="line-83"></span><span>             </span><span class="annot"><a href="Data.Foldable.html#foldMap"><span class="hs-identifier">foldMap</span></a></span><span class="hs-special">,</span><span>   </span><span class="hs-comment">-- :: Monoid m =&gt; (a -&gt; m) -&gt; t a -&gt; m</span><span>
</span><span id="line-84"></span><span>             </span><span class="annot"><a href="Data.Foldable.html#foldr"><span class="hs-identifier">foldr</span></a></span><span class="hs-special">,</span><span>     </span><span class="hs-comment">-- :: (a -&gt; b -&gt; b) -&gt; b -&gt; t a -&gt; b</span><span>
</span><span id="line-85"></span><span>             </span><span class="hs-comment">-- foldr', -- :: (a -&gt; b -&gt; b) -&gt; b -&gt; t a -&gt; b</span><span>
</span><span id="line-86"></span><span>             </span><span class="annot"><a href="Data.Foldable.html#foldl"><span class="hs-identifier">foldl</span></a></span><span class="hs-special">,</span><span>     </span><span class="hs-comment">-- :: (b -&gt; a -&gt; b) -&gt; b -&gt; t a -&gt; b</span><span>
</span><span id="line-87"></span><span>             </span><span class="hs-comment">-- foldl', -- :: (b -&gt; a -&gt; b) -&gt; b -&gt; t a -&gt; b</span><span>
</span><span id="line-88"></span><span>             </span><span class="annot"><a href="Data.Foldable.html#foldr1"><span class="hs-identifier">foldr1</span></a></span><span class="hs-special">,</span><span>    </span><span class="hs-comment">-- :: (a -&gt; a -&gt; a) -&gt; t a -&gt; a</span><span>
</span><span id="line-89"></span><span>             </span><span class="annot"><a href="Data.Foldable.html#foldl1"><span class="hs-identifier">foldl1</span></a></span><span class="hs-special">,</span><span>    </span><span class="hs-comment">-- :: (a -&gt; a -&gt; a) -&gt; t a -&gt; a</span><span>
</span><span id="line-90"></span><span>             </span><span class="annot"><a href="Data.Foldable.html#maximum"><span class="hs-identifier">maximum</span></a></span><span class="hs-special">,</span><span>   </span><span class="hs-comment">-- :: (Foldable t, Ord a) =&gt; t a -&gt; a</span><span>
</span><span id="line-91"></span><span>             </span><span class="annot"><a href="Data.Foldable.html#minimum"><span class="hs-identifier">minimum</span></a></span><span class="hs-special">,</span><span>   </span><span class="hs-comment">-- :: (Foldable t, Ord a) =&gt; t a -&gt; a</span><span>
</span><span id="line-92"></span><span>             </span><span class="annot"><a href="Data.Foldable.html#product"><span class="hs-identifier">product</span></a></span><span class="hs-special">,</span><span>   </span><span class="hs-comment">-- :: (Foldable t, Num a) =&gt; t a -&gt; a</span><span>
</span><span id="line-93"></span><span>             </span><span class="annot"><a href="Data.Foldable.html#sum"><span class="hs-identifier">sum</span></a></span><span class="hs-special">)</span><span class="hs-special">,</span><span>      </span><span class="hs-comment">-- :: Num a =&gt; t a -&gt; a</span><span>
</span><span id="line-94"></span><span>             </span><span class="hs-comment">-- toList) -- :: Foldable t =&gt; t a -&gt; [a]</span><span>
</span><span id="line-95"></span><span>
</span><span id="line-96"></span><span>    </span><span class="annot"><a href="Data.Traversable.html#Traversable"><span class="hs-identifier">Traversable</span></a></span><span class="hs-special">(</span><span class="annot"><a href="Data.Traversable.html#traverse"><span class="hs-identifier">traverse</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Data.Traversable.html#sequenceA"><span class="hs-identifier">sequenceA</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Data.Traversable.html#mapM"><span class="hs-identifier">mapM</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Data.Traversable.html#sequence"><span class="hs-identifier">sequence</span></a></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-97"></span><span>
</span><span id="line-98"></span><span>    </span><span class="annot"><span class="hs-comment">-- ** Miscellaneous functions</span></span><span>
</span><span id="line-99"></span><span>    </span><span class="annot"><a href="GHC.Base.html#id"><span class="hs-identifier">id</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Base.html#const"><span class="hs-identifier">const</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Base.html#."><span class="hs-operator">(.)</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Base.html#flip"><span class="hs-identifier">flip</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Base.html#%24"><span class="hs-operator">($)</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Base.html#until"><span class="hs-identifier">until</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-100"></span><span>    </span><span class="annot"><a href="GHC.Base.html#asTypeOf"><span class="hs-identifier">asTypeOf</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Err.html#error"><span class="hs-identifier">error</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Err.html#errorWithoutStackTrace"><span class="hs-identifier">errorWithoutStackTrace</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Err.html#undefined"><span class="hs-identifier">undefined</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-101"></span><span>    </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#seq"><span class="hs-identifier">seq</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Base.html#%24%21"><span class="hs-operator">($!)</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-102"></span><span>
</span><span id="line-103"></span><span>    </span><span class="annot"><span class="hs-comment">-- * List operations</span></span><span>
</span><span id="line-104"></span><span>    </span><span class="annot"><a href="GHC.Base.html#map"><span class="hs-identifier">List.map</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Base.html#%2B%2B"><span class="hs-operator">(List.++)</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.List.html#filter"><span class="hs-identifier">List.filter</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-105"></span><span>    </span><span class="annot"><a href="GHC.List.html#head"><span class="hs-identifier">List.head</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.List.html#last"><span class="hs-identifier">List.last</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.List.html#tail"><span class="hs-identifier">List.tail</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.List.html#init"><span class="hs-identifier">List.init</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.List.html#%21%21"><span class="hs-operator">(List.!!)</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-106"></span><span>    </span><span class="annot"><a href="Data.Foldable.html#null"><span class="hs-identifier">Foldable.null</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Data.Foldable.html#length"><span class="hs-identifier">Foldable.length</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-107"></span><span>    </span><span class="annot"><a href="GHC.List.html#reverse"><span class="hs-identifier">List.reverse</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-108"></span><span>    </span><span class="annot"><span class="hs-comment">-- *** Special folds</span></span><span>
</span><span id="line-109"></span><span>    </span><span class="annot"><a href="Data.Foldable.html#and"><span class="hs-identifier">Foldable.and</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Data.Foldable.html#or"><span class="hs-identifier">Foldable.or</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Data.Foldable.html#any"><span class="hs-identifier">Foldable.any</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Data.Foldable.html#all"><span class="hs-identifier">Foldable.all</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-110"></span><span>    </span><span class="annot"><a href="Data.Foldable.html#concat"><span class="hs-identifier">Foldable.concat</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Data.Foldable.html#concatMap"><span class="hs-identifier">Foldable.concatMap</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-111"></span><span>    </span><span class="annot"><span class="hs-comment">-- ** Building lists</span></span><span>
</span><span id="line-112"></span><span>    </span><span class="annot"><span class="hs-comment">-- *** Scans</span></span><span>
</span><span id="line-113"></span><span>    </span><span class="annot"><a href="GHC.List.html#scanl"><span class="hs-identifier">List.scanl</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.List.html#scanl1"><span class="hs-identifier">List.scanl1</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.List.html#scanr"><span class="hs-identifier">List.scanr</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.List.html#scanr1"><span class="hs-identifier">List.scanr1</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-114"></span><span>    </span><span class="annot"><span class="hs-comment">-- *** Infinite lists</span></span><span>
</span><span id="line-115"></span><span>    </span><span class="annot"><a href="GHC.List.html#iterate"><span class="hs-identifier">List.iterate</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.List.html#repeat"><span class="hs-identifier">List.repeat</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.List.html#replicate"><span class="hs-identifier">List.replicate</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.List.html#cycle"><span class="hs-identifier">List.cycle</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-116"></span><span>    </span><span class="annot"><span class="hs-comment">-- ** Sublists</span></span><span>
</span><span id="line-117"></span><span>    </span><span class="annot"><a href="GHC.List.html#take"><span class="hs-identifier">List.take</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.List.html#drop"><span class="hs-identifier">List.drop</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-118"></span><span>    </span><span class="annot"><a href="GHC.List.html#takeWhile"><span class="hs-identifier">List.takeWhile</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.List.html#dropWhile"><span class="hs-identifier">List.dropWhile</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-119"></span><span>    </span><span class="annot"><a href="GHC.List.html#span"><span class="hs-identifier">List.span</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.List.html#break"><span class="hs-identifier">List.break</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-120"></span><span>    </span><span class="annot"><a href="GHC.List.html#splitAt"><span class="hs-identifier">List.splitAt</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-121"></span><span>    </span><span class="annot"><span class="hs-comment">-- ** Searching lists</span></span><span>
</span><span id="line-122"></span><span>    </span><span class="annot"><a href="Data.Foldable.html#notElem"><span class="hs-identifier">Foldable.notElem</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-123"></span><span>    </span><span class="annot"><a href="GHC.List.html#lookup"><span class="hs-identifier">List.lookup</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-124"></span><span>    </span><span class="annot"><span class="hs-comment">-- ** Zipping and unzipping lists</span></span><span>
</span><span id="line-125"></span><span>    </span><span class="annot"><a href="GHC.List.html#zip"><span class="hs-identifier">List.zip</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.List.html#zip3"><span class="hs-identifier">List.zip3</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-126"></span><span>    </span><span class="annot"><a href="GHC.List.html#zipWith"><span class="hs-identifier">List.zipWith</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.List.html#zipWith3"><span class="hs-identifier">List.zipWith3</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-127"></span><span>    </span><span class="annot"><a href="GHC.List.html#unzip"><span class="hs-identifier">List.unzip</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.List.html#unzip3"><span class="hs-identifier">List.unzip3</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-128"></span><span>    </span><span class="annot"><span class="hs-comment">-- ** Functions on strings</span></span><span>
</span><span id="line-129"></span><span>    </span><span class="annot"><a href="Data.OldList.html#lines"><span class="hs-identifier">List.lines</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Data.OldList.html#words"><span class="hs-identifier">List.words</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Data.OldList.html#unlines"><span class="hs-identifier">List.unlines</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Data.OldList.html#unwords"><span class="hs-identifier">List.unwords</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-130"></span><span>
</span><span id="line-131"></span><span>    </span><span class="annot"><span class="hs-comment">-- * Converting to and from @String@</span></span><span>
</span><span id="line-132"></span><span>    </span><span class="annot"><span class="hs-comment">-- ** Converting to @String@</span></span><span>
</span><span id="line-133"></span><span>    </span><span class="annot"><a href="GHC.Show.html#ShowS"><span class="hs-identifier">ShowS</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-134"></span><span>    </span><span class="annot"><a href="GHC.Show.html#Show"><span class="hs-identifier">Show</span></a></span><span class="hs-special">(</span><span class="annot"><a href="GHC.Show.html#showsPrec"><span class="hs-identifier">showsPrec</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Show.html#showList"><span class="hs-identifier">showList</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Show.html#show"><span class="hs-identifier">show</span></a></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-135"></span><span>    </span><span class="annot"><a href="GHC.Show.html#shows"><span class="hs-identifier">shows</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-136"></span><span>    </span><span class="annot"><a href="GHC.Show.html#showChar"><span class="hs-identifier">showChar</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Show.html#showString"><span class="hs-identifier">showString</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Show.html#showParen"><span class="hs-identifier">showParen</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-137"></span><span>    </span><span class="annot"><span class="hs-comment">-- ** Converting from @String@</span></span><span>
</span><span id="line-138"></span><span>    </span><span class="annot"><a href="Text.ParserCombinators.ReadP.html#ReadS"><span class="hs-identifier">ReadS</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-139"></span><span>    </span><span class="annot"><a href="GHC.Read.html#Read"><span class="hs-identifier">Read</span></a></span><span class="hs-special">(</span><span class="annot"><a href="GHC.Read.html#readsPrec"><span class="hs-identifier">readsPrec</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Read.html#readList"><span class="hs-identifier">readList</span></a></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-140"></span><span>    </span><span class="annot"><a href="Text.Read.html#reads"><span class="hs-identifier">reads</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Read.html#readParen"><span class="hs-identifier">readParen</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Text.Read.html#read"><span class="hs-identifier">read</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Read.html#lex"><span class="hs-identifier">lex</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-141"></span><span>
</span><span id="line-142"></span><span>    </span><span class="annot"><span class="hs-comment">-- * Basic Input and output</span></span><span>
</span><span id="line-143"></span><span>    </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier">IO</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-144"></span><span>    </span><span class="annot"><span class="hs-comment">-- ** Simple I\/O operations</span></span><span>
</span><span id="line-145"></span><span>    </span><span class="hs-comment">-- All I/O functions defined here are character oriented.  The</span><span>
</span><span id="line-146"></span><span>    </span><span class="hs-comment">-- treatment of the newline character will vary on different systems.</span><span>
</span><span id="line-147"></span><span>    </span><span class="hs-comment">-- For example, two characters of input, return and linefeed, may</span><span>
</span><span id="line-148"></span><span>    </span><span class="hs-comment">-- read as a single newline character.  These functions cannot be</span><span>
</span><span id="line-149"></span><span>    </span><span class="hs-comment">-- used portably for binary I/O.</span><span>
</span><span id="line-150"></span><span>    </span><span class="annot"><span class="hs-comment">-- *** Output functions</span></span><span>
</span><span id="line-151"></span><span>    </span><span class="annot"><a href="System.IO.html#putChar"><span class="hs-identifier">putChar</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-152"></span><span>    </span><span class="annot"><a href="System.IO.html#putStr"><span class="hs-identifier">putStr</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="System.IO.html#putStrLn"><span class="hs-identifier">putStrLn</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="System.IO.html#print"><span class="hs-identifier">print</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-153"></span><span>    </span><span class="annot"><span class="hs-comment">-- *** Input functions</span></span><span>
</span><span id="line-154"></span><span>    </span><span class="annot"><a href="System.IO.html#getChar"><span class="hs-identifier">getChar</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-155"></span><span>    </span><span class="annot"><a href="System.IO.html#getLine"><span class="hs-identifier">getLine</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="System.IO.html#getContents"><span class="hs-identifier">getContents</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="System.IO.html#interact"><span class="hs-identifier">interact</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-156"></span><span>    </span><span class="annot"><span class="hs-comment">-- *** Files</span></span><span>
</span><span id="line-157"></span><span>    </span><span class="annot"><a href="GHC.IO.html#FilePath"><span class="hs-identifier">FilePath</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-158"></span><span>    </span><span class="annot"><a href="System.IO.html#readFile"><span class="hs-identifier">readFile</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="System.IO.html#writeFile"><span class="hs-identifier">writeFile</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="System.IO.html#appendFile"><span class="hs-identifier">appendFile</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="System.IO.html#readIO"><span class="hs-identifier">readIO</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="System.IO.html#readLn"><span class="hs-identifier">readLn</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-159"></span><span>    </span><span class="annot"><span class="hs-comment">-- ** Exception handling in the I\/O monad</span></span><span>
</span><span id="line-160"></span><span>    </span><span class="annot"><a href="GHC.IO.Exception.html#IOError"><span class="hs-identifier">IOError</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.IO.Exception.html#ioError"><span class="hs-identifier">ioError</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.IO.Exception.html#userError"><span class="hs-identifier">userError</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-161"></span><span>
</span><span id="line-162"></span><span>  </span><span class="hs-special">)</span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-163"></span><span>
</span><span id="line-164"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Control.Monad.html"><span class="hs-identifier">Control.Monad</span></a></span><span>
</span><span id="line-165"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="System.IO.html"><span class="hs-identifier">System.IO</span></a></span><span>
</span><span id="line-166"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="System.IO.Error.html"><span class="hs-identifier">System.IO.Error</span></a></span><span>
</span><span id="line-167"></span><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="annot"><a href="Data.List.html"><span class="hs-identifier">Data.List</span></a></span><span> </span><span class="hs-keyword">as</span><span> </span><span class="annot"><span class="hs-identifier">List</span></span><span>
</span><span id="line-168"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Data.Either.html"><span class="hs-identifier">Data.Either</span></a></span><span>
</span><span id="line-169"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Data.Foldable.html"><span class="hs-identifier">Data.Foldable</span></a></span><span>    </span><span class="hs-special">(</span><span> </span><span class="annot"><a href="Data.Foldable.html#Foldable"><span class="hs-identifier">Foldable</span></a></span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span> </span><span class="hs-special">)</span><span>
</span><span id="line-170"></span><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="annot"><a href="Data.Foldable.html"><span class="hs-identifier">Data.Foldable</span></a></span><span> </span><span class="hs-keyword">as</span><span> </span><span class="annot"><span class="hs-identifier">Foldable</span></span><span>
</span><span id="line-171"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Data.Functor.html"><span class="hs-identifier">Data.Functor</span></a></span><span>     </span><span class="hs-special">(</span><span> </span><span class="annot"><a href="Data.Functor.html#%3C%24%3E"><span class="hs-operator">(&lt;$&gt;)</span></a></span><span> </span><span class="hs-special">)</span><span>
</span><span id="line-172"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Data.Maybe.html"><span class="hs-identifier">Data.Maybe</span></a></span><span>
</span><span id="line-173"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Data.Traversable.html"><span class="hs-identifier">Data.Traversable</span></a></span><span> </span><span class="hs-special">(</span><span> </span><span class="annot"><a href="Data.Traversable.html#Traversable"><span class="hs-identifier">Traversable</span></a></span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span> </span><span class="hs-special">)</span><span>
</span><span id="line-174"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Data.Tuple.html"><span class="hs-identifier">Data.Tuple</span></a></span><span>
</span><span id="line-175"></span><span>
</span><span id="line-176"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Base.html"><span class="hs-identifier">GHC.Base</span></a></span><span> </span><span class="hs-keyword">hiding</span><span> </span><span class="hs-special">(</span><span> </span><span class="annot"><a href="GHC.Base.html#foldr"><span class="hs-identifier">foldr</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Base.html#mapM"><span class="hs-identifier">mapM</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Base.html#sequence"><span class="hs-identifier">sequence</span></a></span><span> </span><span class="hs-special">)</span><span>
</span><span id="line-177"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Text.Read.html"><span class="hs-identifier">Text.Read</span></a></span><span>
</span><span id="line-178"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Enum.html"><span class="hs-identifier">GHC.Enum</span></a></span><span>
</span><span id="line-179"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Num.html"><span class="hs-identifier">GHC.Num</span></a></span><span>
</span><span id="line-180"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Real.html"><span class="hs-identifier">GHC.Real</span></a></span><span>
</span><span id="line-181"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Float.html"><span class="hs-identifier">GHC.Float</span></a></span><span>
</span><span id="line-182"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Show.html"><span class="hs-identifier">GHC.Show</span></a></span><span>
</span><span id="line-183"></span></pre></body></html>